/*
 * The MIT License (MIT)
 *
 * Copyright (c) 2014-2016 abel533@gmail.com
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 */

package org.zjt.auth.config;
import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
import org.zjt.auth.common.ApplicationContext;


/**
 * @author liuzh_3nofxnp
 * @since 2015-12-19 16:16
 */
@Configuration
public class WebMvcConfig extends WebMvcConfigurerAdapter {
	private static final Logger log= Logger.getLogger(WebMvcConfig.class);
	
	@Value("${spring.profiles.active}")
	private  String springProfile;   //必须使用非静态的
	
	@Value("#{systemProperties['os.name']}")
	private  String osName;   

    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/");
    }

//    @Override
//    public void configureViewResolvers(ViewResolverRegistry registry) {
//        registry.enableContentNegotiation(new MappingJackson2JsonView());
//        registry.freeMarker().cache(false);
//    }
//
//    @Bean
//    public FreeMarkerConfigurer freeMarkerConfigurer() {
//        FreeMarkerConfigurer configurer = new FreeMarkerConfigurer();
//        configurer.setTemplateLoaderPath("/WEB-INF/templates");
//        return configurer;
//    }
    
 
    
    
    
    @Bean
    public String printProfile(){
    	log.error("++++++++++++++++꧁༺"+springProfile+"༻ ꧂++++++"+osName+"+++++++++++");
    	log.error(getStringImg(springProfile));
    	ApplicationContext.runEnv=springProfile;
    	return springProfile;
    }
    
    public String getStringImg(String str){
    	StringBuffer sb=new StringBuffer();
    	sb.append("\n");
    	if(str.trim().equals("text")){
    		sb.append(" *                 *\n");
    		sb.append("*****  **  ** ** *****\n");
    		sb.append(" *    *  *  * *    * \n");
    		sb.append(" *    ****   *     *\n");
    		sb.append(" *    *     * *    *\n");
    		sb.append(" ***   *** ** **   ***\n");
    	}else if(str.trim().equals("dev")){
    		sb.append("	   **               \n");
    		sb.append("	    *               \n");
    		sb.append("	    *               \n");
    		sb.append("	  ***   **  ** **   \n");
    		sb.append("	 *  *  *  *  * *    \n");
    		sb.append("	 *  *  ****  * *    \n");
    		sb.append("	 *  *  *      *     \n");
    		sb.append("	  ****  ***   *     \n");
    	}else if(str.trim().equals("prod")){
    		sb.append("			             **\n");
    		sb.append("			             *\n");
    		sb.append("			             *\n");
    		sb.append("****  ** **   **    ***\n");
    		sb.append("*  *  **    *  *  *  *\n");
    		sb.append("*  *  *     *  *  *  *\n");
    		sb.append("*  *  *     *  *  *  *\n");
    		sb.append("***  ***     **    ****\n");
    		sb.append("*\n");
    		sb.append("***\n");
    	}
    	return sb.toString();
    }
}
